/*
 *  Copyright 2010 UPF Telecos 4th group G.
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 *  under the License.
 */

package edu.upf.utils;

/**
 * <p>Definitions interface used as utility for final variables
 * </p>
 * @author     netjois
 */
public interface Definitions {

    /**
     * Default connection data
     */
    String DEFAULT_ACCOUNT="joseluis.grupog@gmail.com";
    String DEFAULT_PASS="gatoupfgroupg";
    String JMEDIA_RESOURCE="jMedia";
    String PLAIN_AUTH="PLAIN";
    int PLAIN_MECHANISM=0;
    int GENERIC_PORT=5222;
    String GTALK_SERVER="talk.google.com";
    String PROXY="gmail.com";
    String SERVER_EXTENSION="@gmail.com"; 
    
    /**
     * Default test message
     */
    String TEST_MSG="test";
    String TEST="test";
    int WAIT_CON_TIME=6000;
    String TEST_BUDDY="alberto.grupog@gmail.com";

    /**
     * Payload property name on messages
     */
    String PAYLOAD="payload";

    /**
     * Default status message for logging
     */
    String OK="OK";
    String KO="KO";

    /**
     * Default 'mock' resource data
     */
    String IMAGE_NAME="jMedia_logo.png";
    int POSITION=0;
    String USER="all_users";
    String SIZE="500KB";
    String POPULARITY="5";
    String EXAMPLE_CONTENT_PATH="Shared_Folder/Downloads/final.jpg";
    String TEST_DESTINATION="joseluis.grupog@gmail.com";

    /**
     * Search types and sybtypes name
     */
    String BASIC="basic";
    String NEWS="news";
    String CATEGORY="category";
    String IMAGE="image";
    String VIDEO="video";
    String ALL="all";
    String ARTICLE="article";
    String TITLE="title";
    String PARAGRAPH="paragraph";
    String SIMPLE="simple";
    String PLUS="plus";   

    /**
     * Default graphic user interface variables
     */
    int THUMBWIDTH=50;
    int THUMBHEIGHT=50;
    int RESULT_THUMB_COLUM=5;
    int RESULT_POPUL_COLUMN=3;
    int LIBRARY_THUMB_COLUM=4;
    int LIBRARY_POPUL_COLUMN=3;
    int LIB_THUMB_W=140;
    int LIB_THUMB_H=120;
    int LIB_CELL_SIZE=150;
    int DEFAULT_COLUMN_NUM=0;
    int INITIAL=0;
    int NO_IMAGES=-1;
    int EDITOR_PANEL_POS=4;
    int MAIN_PANEL_POS=0;
    int PROGRESS_COLUMN=4;
    int BAR_LENGTH=100;
    String FINISHED="finished";
    String DOWNLOADING="downloading";
    int DOWNLOADS_REFRESH_INTERVAL=2000;

    /**
     * Connection states
     */
    int LOGOUT_STATE=0;
    int LOGGING_STATE=1;
    int LOGGED_STATE=2;

    /**
     * Database related data and constant names
     */
    String DBUSER="admin";
    String QUERY_ACTION="^query.*";
    String ADD_ACTION="^add.*";
    String UPDATE_ACTION="^update.*";
    String RETRIEVE_ACTION="^retrieve.*";
    String XQUERY_SERVICE="XQueryService";
    String XQUERY_VERSION="1.0";
    String ADD_SERVICE="CollectionManagementService";
    String ADD_VERSION="1.0";
    String UPDATE_SERVICE="XQueryService";
    String UPDATE_VERSION="1.0";
    String IMAGE_RESULT=".*image.*";
    String VIDEO_RESULT=".*video.*";
    String SPLITTER="<separator>";
    int DOCUMENT_INDEX=0;
    int COLLECTION_INDEX=1;
    int CATEGORY_POS=0;
    int SEARCH_POS=1;
    int FREE_TEXT_POS=0;

    String QUERY_IMAGE_BASIC="query.image.keyword";
    String QUERY_IMAGE_CATEGORY="query.image.category";
    String QUERY_IMAGE_CATEGORYPLUS="query.image.categoryplus";
    String QUERY_IMAGE_ARTICLE="query.image.article";
    String QUERY_IMAGE_TITLE="query.image.title";
    String QUERY_IMAGE_PARAGRAPH="query.image.paragraph";
    String QUERY_IMAGE_GETALL="query.image.getall";
    String QUERY_VIDEO_BASIC="query.video.keyword";
    String QUERY_VIDEO_CATEGORY="query.video.category";
    String QUERY_VIDEO_CATEGORYPLUS="query.video.categoryplus";
    String QUERY_VIDEO_ARTICLE="query.video.article";
    String QUERY_VIDEO_TITLE="query.video.title";
    String QUERY_VIDEO_PARAGRAPH="query.video.paragraph";
    String QUERY_VIDEO_GETALL="query.video.getall";
    String RETRIEVE_IMAGES="retrieve.image.all";
    String RETRIEVE_VIDEO="retrieve.video.all";
    String RETRIEVE_IMAGE_ALBUMS="retrieve.image.albums";
    String RETRIEVE_VIDEO_ALBUMS="retrieve.video.albums";
    String RETRIEVE_IMAGE_PATH="retrieve.image.path";
    String RETRIEVE_VIDEO_PATH="retrieve.video.path";

    String ADD_ALBUM="add.album.keyword";
    String UPDATE_NEW_IMAGE="update.image.keyword";
    String UPDATE_NEW_VIDEO="update.video.keyword";

    String UPDATE_IMAGE_TAG="update.image.tag";
    String UPDATE_IMAGE_CATEGORY="update.image.category";
    String UPDATE_VIDEO_TAG="update.video.tag";
    String UPDATE_VIDEO_CATEGORY="update.video.category";
    String UPDATE_IMAGE_ALBUM="update.image.album";
    String UPDATE_VIDEO_ALBUM="update.video.album";

    String UPDATE_DEL_IMAGE="update.image.delete";
    String UPDATE_DEL_VIDEO="update.video.delete";
    String UPDATE_DEL_IMAGE_ALBUM="update.album.image.delete";
    String UPDATE_DEL_VIDEO_ALBUM="update.album.video.delete";
    String UPDATE_ALBUMS_IMAGE="update.album.image.name";
    String UPDATE_ALBUMS_VIDEO="update.album.video.name";

    /**
     * Exception levels
     */
    String INFO="Info";
    String WARNING="Warning";
    String ERROR="Error";

    /**
     * Config properties
     */
    String EMPTY="";
    String LOGIN_USER="login.username";
    String PASS_USER="login.pass";
    String SETTINGS_PROPERTIES="/jmediaconf.properties";
    String SHARED_FOLDER="Shared_Folder/";
    String TEMP_FOLDER="Shared_Folder/.Temp/";
    String DOWNLOADS_FOLDER="Shared_Folder/Downloads/";
}
